// pages/message/index.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        message: [],
        openid: "",
        room_id: "",
        input: "",
    },
    onMessage(e) {
        this.setData({
            input: e.detail.value
        })
    },
    sendMessage(e) {
        let _this = this
        wx.cloud.database().collection("message").add({
            data: {
                room_id: _this.data.room_id,
                msg: _this.data.input,
                createTime: new Date(),
            }
        }).then((res) => {
            this.setData({
                input: ""
            })
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        let _this = this
        console.log(options)
        let room_id = options.room_id
        this.setData({
            room_id: room_id
        })
        let app = getApp()
        this.setData({
            openid: app.globalData.openid
        }) 
        // const _ = wx.cloud.database().command
        // wx.cloud.database().collection("message").where({
        //     room_id:room_id
        // }).orderBy("createTime","asc").get().then((res) => {
        //     _this.setData({
        //         message: res.data
        //     })
        // })

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {
        let _this = this
        let watch = wx.cloud.database().collection("message").where({
            room_id: _this.data.room_id
        }).watch({
            onChange: (snapshot) => { //只要数据发生变化就会调用此方法
                console.log(snapshot)
                let msg = _this.data.message
                if(snapshot.type === "init"){
                    msg = snapshot.docs
                }else{
                     msg.push(snapshot.docChanges[0].doc)
                }
                _this.setData({
                    message: msg,
                })
                console.log(_this.data.message)
            },
            onError: function (err) {
                console.error('the watch closed because of error', err)
            }
        })
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})